package com.amsp.oa.oademo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;

@Data
@TableName("attendance_summary")
@ApiModel(description = "考勤汇总实体")
public class AttendanceSummary {
    @TableId(type = IdType.AUTO)
    @ApiModelProperty("主键ID")
    private Long id;

    @ApiModelProperty("工号")
    private String employeeId;

    @ApiModelProperty("姓名")
    private String name;

    @ApiModelProperty("班组名称")
    private String groupName;

    @ApiModelProperty("迟到时间")
    private String lateTime;

    @ApiModelProperty("迟到次数")
    private Integer lateCount;

    @ApiModelProperty("早退时间")
    private String earlyLeaveTime;

    @ApiModelProperty("早退次数")
    private Integer earlyLeaveCount;

    @ApiModelProperty("旷工时间")
    private String absenteeismTime;

    @ApiModelProperty("旷工次数")
    private Integer absenteeismCount;

    @ApiModelProperty("年假(H)")
    private Double annualLeave;

    @ApiModelProperty("婚假(H)")
    private Double marriageLeave;

    @ApiModelProperty("产假(H)")
    private Double maternityLeave;

    @ApiModelProperty("丧假(H)")
    private Double funeralLeave;

    @ApiModelProperty("病假(H)")
    private Double sickLeave;

    @ApiModelProperty("事假(H)")
    private Double personalLeave;

    @ApiModelProperty("工伤(H)")
    private Double workInjuryLeave;

    @ApiModelProperty("停工待料(H)")
    private Double shutdownMaterialTime;

    @ApiModelProperty("公出(H)")
    private Double businessTripTime;

    @ApiModelProperty("节假日(H)")
    private Double holidayTime;

    @ApiModelProperty("正班(H)")
    private Double regularShiftTime;

    @ApiModelProperty("平时加班(H)")
    private Double weekdayOvertimeTime;

    @ApiModelProperty("周末加班(H)")
    private Double weekendOvertimeTime;

    @ApiModelProperty("节假日加班(H)")
    private Double holidayOvertimeTime;

    @ApiModelProperty("总工时(H)")
    private Double totalWorkHours;

    @ApiModelProperty("漏卡次数")
    private Integer missedCardCount;

    @ApiModelProperty("夜班津贴补助次数")
    private Integer nightShiftAllowanceCount;

    @ApiModelProperty("员工确认")
    private String employeeConfirmation;

    @ApiModelProperty("统计开始日期")
    private LocalDateTime startDate;

    @ApiModelProperty("统计结束日期")
    private LocalDateTime endDate;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime createTime;

    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime updateTime;

    @ApiModelProperty("是否删除")
    private Boolean deleted;
}